package com.zbkj.crmeb.payment.vo.hkwechat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * wepayez 订单支付状态查询
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="HkPayPaymentQueryResponse对象", description="香港微信支付支付状态查询响应结果")
public class HkPayPaymentQueryResponse {


    @ApiModelProperty(value = "版本号 默认2.0非必填")
    public String version;

    @ApiModelProperty(value = "字符集 默认UTF-8非必填")
    public String charset;

    @ApiModelProperty(value = "签名类型 默认MD5非必填")
    public String sign_type;

    @ApiModelProperty(value = "返回狀態碼 0 表示成功非 0 表示失敗 此字段是通信標識，非交易 標識，交易是否成功需要查 看 result_code 來判斷")
    private String status;

    @ApiModelProperty(value = "返回資訊，如非空，為錯誤原因簽名失敗參數 格式校驗錯誤")
    private String message;

    @ApiModelProperty(value = "业务结果 0 表示成功非 0 表示失敗")
    private String result_code;

    @ApiModelProperty(value = "商户号")
    private String mch_id;

    @ApiModelProperty(value = "终端设备号")
    private String device_info;

    @ApiModelProperty(value = "随机字符串")
    private String nonce_str;

    @ApiModelProperty(value = "错误代码")
    private String err_code;

    @ApiModelProperty(value = "錯誤代碼描述")
    private String err_msg;

    @ApiModelProperty(value = "簽名")
    private String sign;

    /**
     * 以下字段在 status 和 result_code 都為 0 的時候有返回
     */
    @ApiModelProperty(value = "交易状态 SUCCESS—支付成功 REFUND—轉入退款 NOTPAY—未支付 CLOSED—已關閉 REVERSE—已沖正 REVOK—已撤銷")
    private String trade_state;

    /**
     * 以下字段在 trade_state 為 SUCCESS 的時候有返回
     */
    @ApiModelProperty(value = "交易类型 pay.weixin.jspay")
    private String trade_type;

    @ApiModelProperty(value = "用戶在商戶 appid 下的唯一標識")
    private String openid;

    @ApiModelProperty(value = "是否關注公眾 帳號 用戶是否關注公眾帳號，Y-關注，N-未關注，僅 在公眾帳號類型支付有效")
    private String is_subscribe;

    @ApiModelProperty(value = "平臺訂單號")
    private String transaction_id;

    @ApiModelProperty(value = "第三方訂單號")
    private String out_transaction_id;

    @ApiModelProperty(value = "商户订单号")
    public String out_trade_no;

    @ApiModelProperty(value = "總金額 以分為單位，不允許包含任何字、符號")
    public Integer total_fee;

    @ApiModelProperty(value = "現金券金額 現金券支付金額<=訂單總金額， 訂單總金額-現 金券金額為現金支付金額")
    public Integer coupon_fee;

    @ApiModelProperty(value = "貨幣種類 貨幣類型，符合 ISO 4217 標準的三位字母代碼")
    public String fee_type;

    @ApiModelProperty(value = "附加資訊")
    public String attach;

    @ApiModelProperty(value = "付款銀行")
    public String bank_type;

    @ApiModelProperty(value = "銀行訂單號")
    public String bank_billno;

    @ApiModelProperty(value = "支付完成時間")
    public String time_end;

    @ApiModelProperty(value = "現金支付金額")
    public Integer cash_fee;

    @ApiModelProperty(value = "現金支付貨幣類型  符合 ISO 4217 標準的三位字母代碼， CNY")
    public String cash_fee_type;

    @ApiModelProperty(value = "匯率 用戶支付幣種與商戶結算幣種的兌換比例關係")
    public String rate;

}
